var obj = {
    pagenum: 1, //默认查询第一页数据
    pagesize: 2, //1页显示2条数据
    cate_id: '',
    state: ''
}

function initTable() {
    $.ajax({
        method: 'get',
        url: '/my/article/list',
        data: obj,
        success: function(res) {
            if (res.status != 0) return layer.msg('获取列表失败');
            // console.log(res);
            // 使用模板引擎渲染页面的数据
            var htmlStr = template('tpl', res)
            $('tbody').html(htmlStr);
            render(res.total);
        }
    })
};

initTable();

// 获取文章分类
function getCateList() {
    $.ajax({
        method: 'get',
        url: "/my/article/cates",
        success: function(res) {
            if (res.status != 0) return layer.msg('获取分类列表失败');
            // console.log(res);
            // 使用模板引擎渲染页面的数据
            var htmlStr = template('tpl-cate', res)
            $('[name=cate_id]').html(htmlStr);
            layui.form.render(); // 数据是动态添加的,layui的表单插件需要更新一下
        }
    })
};
getCateList();

// 筛选功能
$("#form-search").on('submit', function(e) {
    e.preventDefault();
    obj.cate_id = $('[name=cate_id]').val(); //更新onj对象的分类id
    obj.state = $('[name=state]').val(); //更新对象obj 中的状态
    initTable(); //这里面就是筛选之后的数据
});

function render(total) {
    layui.laypage.render({
        elem: 'test1', //注意，这里的 test1 是 ID，不用加 # 
        count: total, //数据总数，从服务端得到
        limit: obj.pagesize, //每页显示的条数
        curr: obj.pagenum, //当前页是第几页
        limits: [2, 3, 4, 5], //选择每页显示多少条
        layout: ['count', 'limit', 'prev', 'page', 'next'], //自定义排版
        jump: function(a, first) {
            // console.log(a.curr); //显示当前切换过来的页码值
            // console.log(first); //第一次是true 后面值都是undefined
            obj.pagenum = a.curr;
            obj.pagesize = a.limit;
            // 这个判断为了让这个函数只执行一次
            if (!first) {
                initTable(); //
            }
        }
    });
};

// 删除功能
$('tbody').on('click', '.btn-del', function() {
    var id = $(this).attr('data-id');
    layer.confirm('确定要删除吗?', { icon: 3, title: '提示' }, function(index) {
        //do something
        $.ajax({
            method: 'get',
            url: '/my/article/delete/' + id,
            success: function(res) {
                if (res.status != 0) return layer.msg('删除失败');
                if ($('.btn-del').length == 1) {
                    // 当前页如果只剩下一条数据,再删除这一条数据,就应该跳转到上一页,但是如果是第一页,就不会
                    obj.pagenum = obj.pagenum == 1 ? 1 : obj.pagenum - 1;
                }
                // 重新渲染页面
                initTable();
            }
        })
        layer.close(index);
    });
});